// npm init --yes
// npm i express 

// 1.引入express
const express = require('express')

// 2.创建应用对象
const app = express()

// 3.创建路由规则
// request是对请求报文的封装
// response是对响应报文的封装
app.get('/server',(request,response)=>{

    // 设置响应头，设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    // 设置响应
    response.send('HELLO AJAX')
})
// all可以接收任意类型的请求
app.all('/server',(request,response)=>{

    // 设置响应头，设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    // 响应头
    response.setHeader('Access-Control-Allow-Headers','*')
    // 设置响应
    response.send('HELLO AJAX post-1')
})
app.all('/json-server',(request,response)=>{

    // 设置响应头，设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    // 响应头
    response.setHeader('Access-Control-Allow-Headers','*')
    // 响应一个数据
    const data = {
        name:'atguigu'
    }
    let str = JSON.stringify(data)
    // 设置响应
    response.send(str)
})
// 针对IE缓存
app.get('/ie',(request,response)=>{

    // 设置响应头，设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    // 设置响应
    response.send('HELLO ie')
})
// 延时响应
app.get('/delay',(request,response)=>{

    // 设置响应头，设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    // 设置响应
    // response.send('延时响应')
    setTimeout(()=>{
    response.send('延时响应')
    },3000)
})

// axios服务
app.all('/axios-server',(request,response)=>{

    // 设置响应头，设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*')
    // 响应头
    response.setHeader('Access-Control-Allow-Headers','*')
    // 响应一个数
    const data = {
        name:'atguigu'
    }
    let str = JSON.stringify(data)
    // 设置响应
    response.send(str)
})
// 4.监听端口启动服务
app.listen(8000,()=>{
    console.log('服务已经启动，8080端口监听中');
    
})
// 用node命令启动服务